// 创建目录
// 创建多级目录

var fs = require('fs');

// 多级、包含空格
var dpath1 = "d:\\nodejs\\test\\3level\\Hello World";

// [Error: ENOENT: no such file or directory
// fs.mkdir(dpath1, (err) => {
// success
fs.mkdir(dpath1, {recursive: true}, (err) => {
	if (err) throw err;
	
	console.log('创建目录成功。');
});

//注意 recursive 的版本问题，node 10.14.1 之后才可以使用。

// 程序2

var path = require('path');

function mkdirs(dirname, callback) {
	fs.exists(dirname, function(exists) {
		if (exists) {
			callback();
		} else {
			console.log(path.dirname(dirname));
			mkdirs(path.dirname(dirname), function() {
				fs.mkdir(dirname, callback);
			})
		}
	});
}

var dpath2 = "d:\\nodejs2\\test\\3level\\Hello World";

mkdirs(dpath2, function(err) {
	if (err) throw err;
});


// 程序3 删除非空目录：上面两个

// Error: Cannot find module 'rimraf'
// 需执行：npm install rimraf 安装次模块
let rimraf = require('rimraf');

var dpath3 = "d:\\nodejs";
fs.exists(dpath3, exists => {
	if (exists) {
		// 执行删除
		rimraf(dpath3, err => {
			if (err) return console.error(err);
			
			console.log('删除目录成功：' + dpath3);
		});
	} else {
		console.log('目录不存在：' + dpath3);
	}
})
